1. Technical Field
The present disclosure relates to storage systems.
2. Related Art
In computer file systems for storing and retrieving information, it is sometimes advantageous to duplicate all or part of the file system. For example, one purpose for duplicating a file system is to maintain a backup copy of the file system to protect against lost information. Another purpose for duplicating a file system is to provide replicas of the data in the file system at multiple servers to share load incurred in accessing that data.
“Snapshots” are point in time copy of a file system. In some file systems, snapshot files share disk data blocks with the file system. Up on modification of a data block after a snapshot file is created, the block may no longer be shared between the snapshot file and the file system because the file system may assign a new block for the modified block. Therefore, some blocks which are used by snapshot files may not be used by the file system. These blocks may be referred to as inactive snapshot blocks. Managing inactive snapshot blocks can be challenging since they occupy storage space. It is desirable to efficiently manage inactive snapshot blocks.